package com.sicheng.lc.lc笔试._360篇;

import java.util.Scanner;

/**
 * @author zsc
 * @version 1.0
 * @date 2022/8/27 15:58
 */
public class 吃鸡组队 {
    /**
     * 最近一款吃鸡类型的游戏火爆全球。在组队模式下，你可以邀请自己的好友组建自己的小队，
     * 并选择是否填充（是否同意和非好友游玩），然后加入游戏。现在有A个单人队伍，B个双人队伍，C个三人队伍，D个四人队伍，
     * 并且全都同意填充，但已有的多人队伍的队员不能被拆开填充到其他队伍，请问最多能组成多少个四人队伍。
     * <p>
     * <p>
     * <p>
     * 输入描述
     * 第一行一个正整数T，表示数据组数。（1≤T≤100）
     * <p>
     * 接下来T行，每行四个非负整数，A，B，C，D。（0≤A, B, C, D≤150）
     * <p>
     * 输出描述
     * 共T行，每行输出一个队伍数。
     * <p>
     * <p>
     * 样例输入
     * 4
     * 1 2 3 4
     * 4 3 2 1
     * 2 2 2 1
     * 0 2 0 1
     * 样例输出
     * 6
     * 5
     * 4
     * 2
     */
    public static void main(String[] args) {
        // write your code here

        Scanner sc = new Scanner(System.in);
        int t = sc.nextInt();
        for (int i = 0; i < t; i++) {
            int a = sc.nextInt();
            int b = sc.nextInt();
            int c = sc.nextInt();
            int d = sc.nextInt();
            int res = 0;
            res += d + Math.min(a, c);
            a = a - Math.min(a, c);
            if (a == 0)
                res += b >> 1;
            else {
                if (a / 2 >= b) {
                    a -= b << 1;
                    res += b;
                    res += a >> 2;
                } else {
                    b -= a >> 1;
                    res += a >> 1;
                    res += b >> 1;
                }
            }
            System.out.println(res);
        }

    }
}
